|
NX Programmierung : Danke, Danke, Danke
RobertM am 16.09.2013 um 12:09 Uhr (15)
Als ich hier 2009 meinen ersten Beitrag erstellt habe, hatte ich keine Ahnung wie mächtig NX ist. Ich hatte zuvor noch nie was von .Net gehört und mit den NXOpen-Klassenbibliotheken konnte ich schon gar nichts anfangen.Ich hatte vorher nur mit Fortran77, VB6.0 und Unix zu tun.Also habe ich euren Rat befolgt und erst mal NX gelernt. Nebenbei mich dann noch VB und C# befasst. Letztendlich habe ich mich für C# entschieden und ein paar kleinere Anwendungen erstellt.Am 2. Januar 2013 habe ich einen neuen Kolleg ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : Schriftfeld aktualisieren.
RobertM am 19.04.2010 um 09:27 Uhr (0)
Ich habe mir ein Programm geschrieben, welches die Attribute aus dem Part ausließt.Wie sie auch unter Datei - Eigenschaften angezeigt werden.Im Schriftfeld gibt es Beschriftungen die mit Attribute verknüpft sind. z.B. Waermebehandung Mit meinem Programm kann ich nun den Wert dieses Attributes editieren oder falls noch nicht vorhanden setzen.Nach dem Schließen meines Formulars wird die Änderung unter Datei - Eigenschaften angezeigt aber ich bekomme sie nicht im Schriftfeld angezeigt.mit ugtools_nx6win32gri ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : SetAttribute
RobertM am 19.11.2010 um 09:01 Uhr (0)
hallo,ich möchte attribute absetzen deren name ich erst zur laufzeit festlege.z.b. ein attribut das aus einem string kombiniert mit dem aktuellen sheetname kombiniert wirdhier mein code Dim currentSheet As NXOpen.Drawings.DrawingSheet = workPart.DrawingSheets.CurrentDrawingSheetDim BlattName As String = currentSheet.Name bei mir z.B. Blatt02Dim BlattNummer As Integer = Convert.ToInt16(BlattName.Substring(BlattName.Length - 2, 2))Dim myAttribut As String = "BlattNR" + Convert.ToString(BlattNummer) bis hier ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : Text (Note) über Koordinaten ansprechen
RobertM am 11.01.2011 um 08:35 Uhr (0)
Hallo Michael,Danke für den Tip. Leider bin ich schon überfordert alle relevanten Notes zu finden.Dieser Weg scheint nicht der Richtige zu sein:Part display = theSession.Parts.Display;NXOpen.Annotations.Note[] alleTexte = display.Notes.ToArray();------------------Gruß Robert[Diese Nachricht wurde von RobertM am 11. Jan. 2011 editiert.]
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : Text (Note) über Koordinaten ansprechen
RobertM am 11.01.2011 um 10:51 Uhr (0)
Hallo Michaelich habe meinen Text identifiziert:Part display = theSession.Parts.Display;NXOpen.Annotations.Note[] alleTexte = display.Notes.ToArray();string[] einText = new string[0];Point3d suchpunkt = new Point3d(194.0, 2.5, 0.0);foreach (Note note in display.Notes){ einText = note.GetText(); Point3d punkt; note.GetAssociativeOrigin(out punkt); if (Equals(punkt, suchpunkt)) { //löschen NXObject[] objects1 = new NXObject[1]; objects1[0] = note; int errs1 = theSes ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : Text (Note) über Koordinaten ansprechen
RobertM am 17.01.2011 um 09:20 Uhr (0)
Es hat ein wenig gedauert, aber ich habe jetzt 2 Lösungen für mein Problem. Beide ohne NXOpen.UF// Lösung 1 - Löschen über Point3dprivate void DeleteNoteL1(Point3d Punkt){ Session theSession = Session.GetSession(); NXOpen.Session.UndoMarkId markId1; markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Delete"); Part workpart = theSession.Parts.Work; // entweder so DrawingSheet currentSheet = workpart.DrawingSheets.CurrentDrawingSheet; NXOpen.View view = currentSheet.View; Displa ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 26.09.2011 um 10:23 Uhr (0)
Ich habe jetzt eine Lösung. Ich finde sie sehr Umständlich, aber vielleicht geht es ja nicht anders.1. Schleife über alle Tags mit tag1 = theUFSession.Obj.CycleAll(workPart.Tag, tag1);2. dann NXObject nxObjekt1 = (NXObject)NXOpen.Utilities.NXObjectManager.Get(tag1);3. if (nxObjekt1.GetType().ToString() == "NXOpen.Annotations.Note"){ String journalIdentifier1 = nxObjekt1.JournalIdentifier; NXOpen.Annotations.Note note1 = (NXOpen.Annotations.Note)workPart.FindObject(journalIdentifier1); Point3d point3d ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : eventhandler
RobertM am 19.10.2011 um 08:24 Uhr (0)
Ok ich bin jetzt schon ein gutes Stück weiter.Nach vielem rumbasteln habe ich herausgefunden, dass die *.dlls nicht wie in der Hilfe beschrieben im Ordner application sondern in startup liegen müssen.Hat da jemand eine Erklärung dafür?Hier noch ein Auszug aus dem Logfile:AppBase: T:
x6win32ugii_KLstartupLoaded assembly: CS_NX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null from T:
x6win32ugii_KLstartupCS_NX.dllLoaded assembly: NXOpen, Version=6.0.4.3, Culture=neutral, PublicKeyToken=null from T:
x6w ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : NXOpen.PDM Teamcenter Suchabfragen
RobertM am 13.09.2012 um 12:09 Uhr (1)
Hallo Matthias,wie hast du das Problem gelößt?Ich habe ein ähnliches Problem. Vielleicht hilft mir deine Lösung weiter.------------------Gruß Robert
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : NXOpen.PDM Teamcenter Suchabfragen
RobertM am 13.09.2012 um 14:05 Uhr (7)
Hallo Matthias,in deinen MethodenCode:public bool ExistsItem()public bool ExistsItemRevision()habe ich den entscheidenden Hinweis gefunden.Danke ------------------Gruß Robert
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : UsedArrangement Property - Baugruppe
RobertM am 15.01.2013 um 09:49 Uhr (0)
ich habe folgenden Code:NXOpen.Assemblies.ComponentAssembly _Bauteile;NXOpen.Assemblies.Component _Baugruppe;_Bauteile = workPart.ComponentAssembly;_Baugruppe = _Bauteile.RootComponent;NXOpen.Assemblies.Component[] _Bauteil = _Baugruppe.GetChildren();in beiden Fällen (Baugruppe Einzelteil) ist _Bauteil != null------------------Gruß Robert
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : UsedArrangement Property - Baugruppe
RobertM am 16.01.2013 um 08:22 Uhr (0)
Hallo Michael,dass hat schon seinen Grund, dass ich die Abfrage in der Zeichnung machen muss.Das Problem habe ich jetzt folgendermaßen gelöst.Im ersten Schritt muss ich auf Drawing prüfen und dannCode:NXOpen.Assemblies.ComponentAssembly componentAssembly;NXOpen.Assemblies.Component rootComponent;componentAssembly = workPart.ComponentAssembly;rootComponent = componentAssembly.RootComponent;assemblies.Component[] children = rootComponent.GetChildren();foreach (assemblies.Component child in children){ assemb ...
|
In das Form NX Programmierung wechseln |
|
NX Programmierung : NX-Fehler nach DoUpdate
RobertM am 25.01.2013 um 12:02 Uhr (1)
Ich habe folgendes Problem:Wenn ich eine „Expressions“ ändere um ein Modell zu verändern, kann es schon mal passieren, dass die Skizze fehlerhaft ist und das Modell nicht mehr erstellt werden kann.Nach Code:int nErrs1;Session.UndoMarkId markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "test"); nErrs1 = theSession.UpdateManager.DoUpdate(markId2);bekomme ich eine Fehlermeldung lt. Anhang 4x hintereinander. Danach springt das Programm direkt in den catch-Block und gibt folgende Exception aus ...
|
In das Form NX Programmierung wechseln |